package cn.iocoder.yudao.module.hs.controller.admin.shiporder.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 出库单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ShipOrderPageReqVO extends PageParam {

    @Schema(description = "发货单号")
    private String code;

    @Schema(description = "参照单号")
    private String refereCode;

    @Schema(description = "所在仓库", example = "6997")
    private Long warehouseId;

    @Schema(description = "状态：新建-NEW；待拣货-TO_BE_PICKED；拣货中-PICKING；拣货完成-PICK_OVER；出库中-OUTING；运输中-TRANSPORTING；已收货-RECEIVED；已出库-OUT；", example = "1")
    private String status;

    @Schema(description = "仓库分类：生产仓库-PRODUCTION；三方仓库-TRIPARTITE")
    private String warehouseType;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "出库操作时间")
    private LocalDateTime outingTime;

    @Schema(description = "运输中时间")
    private LocalDateTime transportingTime;

    @Schema(description = "是否直发客户")
    private Integer isDirect;
}